<?php
// read_questions.php
// 此脚本负责读取题目库文件并随机返回一道题目及解析给前端

// 定义题库文件路径
$filename = 'save.txt';

// 初始化题目数组
$questions = [];

// 检查题库文件是否存在
if (file_exists($filename)) {
    // 读取文件内容
    $content = file_get_contents($filename);
    // 将文件内容按行分割
    $lines = explode("\n", $content);

    // 遍历每一行
    foreach ($lines as $line) {
        // 使用制表符将每一行分割为数组
        $parts = explode("\t", $line);
        
        // 确保该行至少包含题目、四个选项和一个答案
        if (count($parts) >= 6) {
            // 创建题目对象，包括题目、选项A-D、答案和解析
            $question = [
                'question' => trim($parts[0]), // 题目
                'optionA' => trim($parts[1]), // 选项A
                'optionB' => trim($parts[2]), // 选项B
                'optionC' => trim($parts[3]), // 选项C
                'optionD' => trim($parts[4]), // 选项D
                'answer' => trim($parts[5]), // 正确答案
                'analysis' => trim($parts[6]), // 题目解析
            ];
            
            // 将处理后的题目加入到题目数组中
            $questions[] = $question;
        }
    }
}

// 如果题目数组不为空，随机选取一道题目并以JSON格式输出
if (!empty($questions)) {
    $randomQuestion = $questions[array_rand($questions)];
    echo json_encode($randomQuestion);
} else {
    // 如果题库为空，则输出提示信息
    echo "No questions found.";
}
?>